//要在异步场景中去理解Promise

//假定现在有个很耗时的任务需要处理，比如ajax请求,这个任务可能有两种结果：
//1. 执行成功并成功获取到数据，需要用这个数据修改页面的某个值
//2. 执行失败，这个时候需要页面抛出一个错误提示
function myDisplayer(some) {
    document.getElementById("h1text").innerHTML = some;
}


//如果想提高系统性能，可以异步去处理这个任务。Promise可以帮助我们处理
//如何使用Promise来解决这个问题呢？

//首先我们要创建一个Promise对象，将异步操作封装到其中，并为这个异步操作的结果提供接受和拒绝的处理函数
let p = new Promise((resolve, reject) =>{
    let xhr = new XMLHttpRequest;
    xhr.open('GET','text.json',true)
    xhr.send
    if(xhr.status >= 200 && xhr.status <300){
        resolve("success")
    }else{
        reject("reject")
    }
})

//然后调用promise对象的.then方法来执行
p.then(
    function(value){myDisplayer(value)},
    //不对reject做处理，没有rejet逻辑
    function(value){myDisplayer(value)},
).catch(
    //但是要处理异常
    function(value){myDisplayer(value)},
)

console.log("hello world")